﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DesignerCategory("code"), XmlType(Namespace="http://www.onvif.org/ver10/schema"), GeneratedCode("svcutil", "3.0.4506.2152"), DebuggerStepThrough]
    public class DeviceCapabilities
    {
        private XmlAttribute[] anyAttrField;
        private DeviceCapabilitiesExtension extensionField;
        private IOCapabilities ioField;
        private NetworkCapabilities1 networkField;
        private SecurityCapabilities1 securityField;
        private SystemCapabilities1 systemField;
        private string xAddrField;

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=5)]
        public DeviceCapabilitiesExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=3)]
        public IOCapabilities IO
        {
            get
            {
                return this.ioField;
            }
            set
            {
                this.ioField = value;
            }
        }

        [XmlElement(Order=1)]
        public NetworkCapabilities1 Network
        {
            get
            {
                return this.networkField;
            }
            set
            {
                this.networkField = value;
            }
        }

        [XmlElement(Order=4)]
        public SecurityCapabilities1 Security
        {
            get
            {
                return this.securityField;
            }
            set
            {
                this.securityField = value;
            }
        }

        [XmlElement(Order=2)]
        public SystemCapabilities1 System
        {
            get
            {
                return this.systemField;
            }
            set
            {
                this.systemField = value;
            }
        }

        [XmlElement(DataType="anyURI", Order=0)]
        public string XAddr
        {
            get
            {
                return this.xAddrField;
            }
            set
            {
                this.xAddrField = value;
            }
        }
    }
}

